package com.example.project3.service.ICS;

import com.example.project3.entity.Tasks;
import com.example.project3.entity.User;

import java.io.File;

/**
 * @ClassName ICSService .java
 * @Description ICS服务。
 * @Author LiuJinyu
 * @Date 2023/5/26 16:39
 * @Version 1.0
 */

public interface ICSService {

    /**
     * ICS文件路径，当前程序同级目录的ics文件夹
     */
    String ICS_PATH = System.getProperty("user.dir") + File.separator + "ics" + File.separator;

    /**
     * 生成用户ICS文件，一个用户只对应一个文件。
     * 成功生成返回true，并在user对象中设置icsFilePath属性
     *
     * @param user
     * @return
     */
    File createICS(User user);

    /**
     * 传递一个ICS文件名称获取一个字节流，这个字节流是ICS文件的字节流
     *
     * @param ICSFileName
     * @return
     */
    byte[] getICSFile(String ICSFileName);

    /**
     * 传递一个Tasks类，将它添加到对应用户的ICS文件中。
     *
     * @param task
     */
    boolean addEvent(User user, Tasks task);
}
